1. Field of the Invention
The invention relates to computer systems implementing a graphic user interface (GUI). More particularly, the invention relates to task-based application sharing in a graphic user interface such as Windows.RTM..
2. Art Background
With the present day heavy reliance on personal computers at work and at home, a method for allowing a user to share control of one personal computer with a user of another personal computer located at a remote area is desirable.
One method of enabling one user to control a remote user's personal computer is through a "traditional" remote control method. In a traditional remote control method, a personal computer of a local user, referred to as the client system, is connected to a personal computer of a remote user, referred to as the host system. The user of the client system, referred to as the client user, takes control of the host system. The mouse and keyboard actions of the client user are then directly transmitted to the host system. The normal screen displayed on the client system is replaced with an image of the display screen of the host system.
A disadvantage of the traditional remote control method is that the traditional remote control method does not allow for both the user of the host system, referred to as the host user, and the client user to use their personal computers at the same time. Instead, while the client user is given complete control of the host system, the host user inputs are either rejected by the host system or are accepted but lead to unpredictable results. In addition, the client user is able to see the entire host screen, and hence the host user is deprived of his/her privacy with matters displayed on his/her host screen.
A different type of a remote control method (referred to herein as the "rectangle method") allows for the host user to define a rectangle on the host system. A client user can see and act upon only the particular area defined by the rectangle on the host system. This method allows for the host user to act upon the area surrounding the rectangle on the host system screen, while the prior described traditional remote control method does not allow the host user to act upon the host system.
A disadvantage of the rectangle method is that the shared area within the rectangle is arbitrarily chosen by the host user and any subsequent movement or resizing of a window of a shared application may lead to unpredictable results. In addition, the host user has no feedback as to the selected area within which the client user may have control. Instead the personal computer screen of the host user appears as a normal screen without any rectangular demarcation to indicate the area within which the client user may have control.
Typically, users of remote control methods desire to share one or more applications on the host user's host system screen regardless of the size and/or positioning of the applications being shared. The above described remote control methods prevent any movement or resizing of a shared application. FIGS 1a and 1b illustrate two prior art methods which attempt to allow remote control of one user of a personal computer (PC) referred to as a client system, over another user's PC referred to as a host system.
FIG. 1a illustrates the traditional remote control method. In the traditional remote control method, normal screen 12 of client system 11 is replaced with the exact image of host screen 13. The client user takes control of host system 14 and the client's mouse and keyboard actions are transmitted to host system 14. While the client user has control over host system 14, the host user is either unable to make any inputs to host system 14 or, if inputs are accepted by host system 14, such inputs may lead to unpredictable results.
FIG. 1b illustrates a rectangle remote control method. In a "rectangle method" a rectangle 15 on host display screen 13 is defined. Anything within rectangle 15 may be seen by the client user through a corresponding rectangle 16 on client system 11 and may be controlled by the client user. However, the size and position of rectangle 15 is arbitrary and unchanging, and any movement or resizing of an application or a pop-up window within rectangle 15 may lead to unpredictable results.
A method overcoming the disadvantages of the above-described remote control methods which also allows both the host user and the client user to share control of one or more applications that the host user has chosen to share on the host system is desirable.